package com.itheima.tliasmanagement.exception;

import com.itheima.tliasmanagement.vo.Result2;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@Slf4j
// 说明这是一个全局异常处理器
@RestControllerAdvice
public class GlobalExceptionHandler {

    // 说明要捕获的是哪一种类型的异常
    @ExceptionHandler(Exception.class)
    public Result2 exceptionHandler(Exception ex){
        // 千万不要把异常给吞掉
        log.error(ex.getMessage(), ex);
        // 以前端能解析的格式返回给前端数据
        return Result2.error("网络异常，请稍后重试");
    }

    @ExceptionHandler(BizException.class)
    public Result2 bizExceptionHandler(BizException ex){
        // 千万不要把异常给吞掉
        log.error(ex.getMessage(), ex);
        // 以前端能解析的格式返回给前端数据
        return Result2.error(ex.getMsg());
    }

}
